package com.common.mybatis;




import org.apache.ibatis.reflection.MetaObject;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.common.util.MyDateUtil;

/**
 *  <p> MyBatisPlus自定义字段自动填充处理类 - 实体类中使用 @TableField注解 </p>
 *
 * @description: 注意前端传值时要为null
 */

//@Component //这个是springboot中使用的，SSM中在XML中配置好了
public class MyMetaObjectHandler implements MetaObjectHandler {


    /**
     	* 创建时间
     */
    @Override
    public void insertFill(MetaObject metaObject) {
    	Object insertValue = getFieldValByName("createDate", metaObject);
    	Object updateValue = getFieldValByName("updateDate", metaObject);
        if(insertValue == null || insertValue.equals("")) {
            setFieldValByName("createDate", MyDateUtil.getStrCurrentDate(2), metaObject);
        }
        if(updateValue == null || updateValue.equals("")) {
        	setFieldValByName("updateDate", MyDateUtil.getStrCurrentDate(2), metaObject);
        }
    }

    /**
     	* 更新时间
     */
    @Override
    public void updateFill(MetaObject metaObject) {
    	Object updateValue = getFieldValByName("updateDate", metaObject);
        if(updateValue == null || updateValue.equals("")) {
            setFieldValByName("updateDate", MyDateUtil.getStrCurrentDate(2), metaObject);
        }
    }
    
}
